home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / algernon / vil_vwm.bas < prev   
BASIC Source File  |  1993-07-08  |  25KB  |  524 lines

  1. 45030 *VIL_VWM_VER
  2. 45035 VIL_VER=100
  3. 45040 RETURN
  4. 45080 *VIL_VWM_INITM
  5. 45155 VIL_VWAT=0:VIL_VWT$=""
  6. 45160 VIL_VWXM=  8:VIL_VWYM= 14
  7. 45165 VIL_VWWM=631:VIL_VWZM=471
  8. 45170 VIL_VWXL= 32:VIL_VWYL=  8
  9. 45175 VIL_VWWL=624:VIL_VWZL=458
  10. 45180 VIL_VWXD=  1:VIL_VWYD=  1
  11. 45185 VIL_VWWD=  1:VIL_VWZD=  1
  12. 45190 VIL_VWN=0
  13. 45195 VIL_VWMR=0
  14. 45200 DIM VIL_VWX(VIL_W0),VIL_VWY(VIL_W0)
  15. 45205 DIM VIL_VWW(VIL_W0),VIL_VWZ(VIL_W0)
  16. 45210 DIM VIL_VWAT(VIL_WANMAX)
  17. 45215 DIM VIL_VWT$(VIL_WANMAX)
  18. 45220 DIM VIL_VWN(VIL_WANMAX)
  19. 45225 VIL_VWCB=VIL_W4
  20. 45230 VIL_MCX0=1:VIL_MCY0=2
  21. 45235 VIL_MCA0$=CHR$(&H7F,&HFF,&H3F,&HFF,&H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H03,&HFF,&H01,&HFF,&H00,&HFF,&H00,&H7F,&H00,&H3F,&H00,&H1F,&H00,&HFF,&H00,&HFF,&H18,&H7F,&H38,&H7F,&HFC,&H7F)
  22. 45240 VIL_MCD0$=CHR$(&H00,&H00,&H00,&H00,&H40,&H00,&H20,&H00,&H50,&H00,&H38,&H00,&H5C,&H00,&H2E,&H00,&H5F,&H00,&H2F,&H80,&H5E,&H00,&H26,&H00,&H42,&H00,&H03,&H00,&H01,&H00,&H00,&H00)
  23. 45245 VIL_MCX1=7: VIL_MCY1=9
  24. 45250 VIL_MCA1$=CHR$(&HFE,&H7F,&HF0,&H0F,&HE0,&H07,&HE0,&H01,&H80,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H80,&H00,&H80,&H00,&HC0,&H01,&HC0,&H01,&HE0,&H03,&HF0,&H07,&HFC,&H1F)
  25. 45255 VIL_MCD1$=CHR$(&H00,&H00,&H01,&H80,&H0D,&HB0,&H0D,&HB0,&H0D,&HB6,&H6D,&HB6,&H6F,&HF6,&H7F,&HFE,&H7F,&HFE,&H3F,&HFE,&H3F,&HFE,&H1F,&HFC,&H1F,&HFC,&H0F,&HF8,&H03,&HE0,&H00,&H00)
  26. 45260 VIL_MCX2=2:VIL_MCY2=12
  27. 45265 VIL_MCA2$=CHR$(&HFF,&HE7,&HFF,&H83,&HFE,&H01,&HF8,&H01,&HE0,&H21,&HC0,&H63,&H81,&HC3,&H07,&HC7,&H0F,&H87,&H0F,&H8F,&H0F,&H0F,&H9F,&H1F,&HF0,&H1F,&HE0,&H3F,&HF0,&H7F,&HF0,&HFF)
  28. 45270 VIL_MCD2$=CHR$(&H00,&H00,&H00,&H18,&H00,&H7C,&H01,&H8C,&H06,&H08,&H18,&H08,&H20,&H10,&H40,&H10,&H40,&H20,&H40,&H20,&H40,&H40,&H00,&H40,&H00,&H80,&H0F,&H00,&H00,&H00,&H00,&H00)
  29. 45280 VIL_WUB=14:VIL_WDB=8:VIL_WRB=8:VIL_WLB=8
  30. 45290 PALETTE 1,[VIL_W1-80+(VIL_W1<80)*(VIL_W1-80)                                           ,VIL_W2-80+(VIL_W2<80)*(VIL_W2-80)                                           ,VIL_W3-80+(VIL_W3<80)*(VIL_W3-80)],1
  31. 45295 PALETTE 2,[VIL_W1   ,VIL_W2   ,VIL_W3   ]
  32. 45300 PALETTE 3,[VIL_W1+80+(255<VIL_W1)*(VIL_W1-255)                                         ,VIL_W2+80+(255<VIL_W2)*(VIL_W2-255)                                         ,VIL_W3+80+(255<VIL_W3)*(VIL_W3-255)],1
  33. 45305 PALETTE VIL_VWCB,[VIL_W5,VIL_W6,VIL_W7]
  34. 45310 MOUSE 2,VIL_MCA0$,VIL_MCD0$,VIL_MCX0,VIL_MCY0
  35. 45320 RETURN
  36. 45330 *VIL_VWOPEN
  37. 45480 GOSUB *VIL_WPMA
  38. 45485 IF VIL_WAN THEN
  39. 45490   LINE(VIL_WX(VIL_WAN)+16,VIL_WY(VIL_WAN)-11)                                     -(VIL_WW(VIL_WAN)-16,VIL_WY(VIL_WAN)- 4),XOR,%3,BF
  40. 45495 ENDIF
  41. 45500 IF VIL_VWN THEN
  42. 45505   VIL_WX=VIL_VWX(VIL_VWN):VIL_WY=VIL_VWY(VIL_VWN)
  43. 45510   VIL_WW=VIL_VWW(VIL_VWN):VIL_WZ=VIL_VWZ(VIL_VWN)
  44. 45515 ENDIF
  45. 45520 GOSUB *VIL_WOP
  46. 45525 IF VIL_E THEN
  47. 45530   LINE(VIL_WX(VIL_WAN)+16,VIL_WY(VIL_WAN)-11)                                     -(VIL_WW(VIL_WAN)-16,VIL_WY(VIL_WAN)- 4),XOR,%3,BF
  48. 45535 ENDIF
  49. 45545 VIL_VWAT(VIL_WAN)=VIL_VWAT
  50. 45550 VIL_VWT$(VIL_WAN)=VIL_VWT$
  51. 45555 VIL_VWN (VIL_WAN)=VIL_VWN
  52. 45565 LINE(VIL_WX-8,VIL_WY-14)-(VIL_WW+8,VIL_WZ+8),PSET,%VIL_VWCB,BF
  53. 45575 LINE(VIL_WX-5,VIL_WY-11)-(VIL_WW+5,VIL_WY-3),PSET,%2,BF
  54. 45580 LINE(VIL_WX-5,VIL_WZ+ 3)-(VIL_WW+5,VIL_WZ+5),PSET,%2,BF
  55. 45585 LINE(VIL_WX-5,VIL_WY- 2)-(VIL_WX-1,VIL_WZ+2),PSET,%2,BF
  56. 45590 LINE(VIL_WW+1,VIL_WY- 2)-(VIL_WW+5,VIL_WZ+2),PSET,%2,BF
  57. 45600 CONNECT(VIL_WW+7,VIL_WY-13)-(VIL_WX-7,VIL_WY-13)                                                        -(VIL_WX-7,VIL_WZ+ 7),%3
  58. 45605 CONNECT(VIL_WW+6,VIL_WY-12)-(VIL_WX-6,VIL_WY-12)                                                        -(VIL_WX-6,VIL_WZ+ 6),%3
  59. 45610 CONNECT(VIL_WX-6,VIL_WZ+ 7)-(VIL_WW+7,VIL_WZ+ 7)                                                        -(VIL_WW+7,VIL_WY-12),%1
  60. 45615 CONNECT(VIL_WX-5,VIL_WZ+ 6)-(VIL_WW+6,VIL_WZ+ 6)                                                        -(VIL_WW+6,VIL_WY-11),%1
  61. 45625 CONNECT(VIL_WW+1,VIL_WY-2)-(VIL_WX-2,VIL_WY-2)                                                         -(VIL_WX-2,VIL_WZ+1),%1
  62. 45630 CONNECT(VIL_WW  ,VIL_WY-1)-(VIL_WX-1,VIL_WY-1)                                                         -(VIL_WX-1,VIL_WZ  ),%1
  63. 45635 CONNECT(VIL_WX-2,VIL_WZ+2)-(VIL_WW+2,VIL_WZ+2)                                                         -(VIL_WW+2,VIL_WY-2),%3
  64. 45640 CONNECT(VIL_WX-1,VIL_WZ+1)-(VIL_WW+1,VIL_WZ+1)                                                         -(VIL_WW+1,VIL_WY-1),%3
  65. 45650 IF (VIL_VWAT AND 2)=2 THEN
  66. 45655   LINE(VIL_WX-5,VIL_WY-11)-(VIL_WX+3,VIL_WY-3),PSET,%1,B
  67. 45660   LINE(VIL_WX-5,VIL_WY-11)-(VIL_WX+3,VIL_WY-3),PSET,%1
  68. 45665   LINE(VIL_WX+3,VIL_WY-11)-(VIL_WX-5,VIL_WY-3),PSET,%1
  69. 45670 ENDIF
  70. 45680 IF (VIL_VWAT AND 4)=4 THEN
  71. 45685   LINE(VIL_WX+ 5,VIL_WY-11)-(VIL_WX+13,VIL_WY-3),PSET,%1,B
  72. 45690   LINE(VIL_WX+13,VIL_WY-11)-(VIL_WX+ 5,VIL_WY-3),PSET,%1
  73. 45695 ENDIF
  74. 45705 IF (VIL_VWAT AND 1)=1 THEN
  75. 45710   LINE(VIL_WW-13,VIL_WY-11)-(VIL_WW-5,VIL_WY- 3),PSET,%1,B
  76. 45715   LINE(VIL_WW-13,VIL_WY- 8)-(VIL_WW-5,VIL_WY- 8),PSET,%1
  77. 45720   LINE(VIL_WW-13,VIL_WY- 6)-(VIL_WW-5,VIL_WY- 6),PSET,%1
  78. 45725 ENDIF
  79. 45735 IF (VIL_VWAT AND 16)=16 THEN
  80. 45740   LINE(VIL_WW-3,VIL_WY-11)-(VIL_WW+5,VIL_WY-3),PSET,%1,B
  81. 45745   LINE(VIL_WW-3,VIL_WY- 8)-(VIL_WW+2,VIL_WY-3),PSET,%1,B
  82. 45750 ENDIF
  83. 45760 VIL_W0=INT(VIL_WW-VIL_WX-36)/5
  84. 45765 IF VIL_W0>0 THEN
  85. 45770   SYMBOL(VIL_WX+18,VIL_WY-10),LEFT$(VIL_VWT$,VIL_W0),.5!,.5!,%1,,,,1
  86. 45775 ENDIF
  87. 45785 LINE(VIL_WX+16,VIL_WY-11)-(VIL_WW-16,VIL_WY-4),XOR,%3,BF
  88. 45790 GOSUB *VIL_WPMR
  89. 45795 RETURN
  90. 45805 *VIL_VWCLOSE
  91. 45890 IF VIL_VWN THEN
  92. 45895   VIL_VWX(VIL_VWN)=VIL_WX:VIL_VWY(VIL_VWN)=VIL_WY
  93. 45900   VIL_VWW(VIL_VWN)=VIL_WW:VIL_VWZ(VIL_VWN)=VIL_WZ
  94. 45905 ENDIF
  95. 45910 GOSUB *VIL_WCL
  96. 45915 VIL_VWAT=VIL_VWAT(VIL_WAN)
  97. 45920 VIL_VWT$=VIL_VWT$(VIL_WAN)
  98. 45925 VIL_VWN =VIL_VWN (VIL_WAN)
  99. 45930 IF VIL_WAN THEN
  100. 45935   LINE(VIL_WX+16,VIL_WY-11)-(VIL_WW-16,VIL_WY-4),XOR,%3,BF
  101. 45940 ENDIF
  102. 45945 GOSUB *VIL_WPMR
  103. 45950 RETURN
  104. 45960 *VIL_VWCLOSEDMY
  105. 46045 IF VIL_VWN THEN
  106. 46050   VIL_VWX(VIL_VWN)=VIL_WX:VIL_VWY(VIL_VWN)=VIL_WY
  107. 46055   VIL_VWW(VIL_VWN)=VIL_WW:VIL_VWZ(VIL_VWN)=VIL_WZ
  108. 46060 ENDIF
  109. 46065 GOSUB *VIL_WCLDMY
  110. 46070 LINE(VIL_WX(VIL_WAN+1)+16,VIL_WY(VIL_WAN+1)-11)                                 -(VIL_WW(VIL_WAN+1)-16,VIL_WY(VIL_WAN+1)- 4),XOR,%3,BF
  111. 46075 VIL_VWAT=VIL_VWAT(VIL_WAN)
  112. 46080 VIL_VWT$=VIL_VWT$(VIL_WAN)
  113. 46085 VIL_VWN =VIL_VWN (VIL_WAN)
  114. 46090 IF VIL_WAN THEN
  115. 46095   LINE(VIL_WX+16,VIL_WY-11)-(VIL_WW-16,VIL_WY-4),XOR,%3,BF
  116. 46100 ENDIF
  117. 46105 GOSUB *VIL_WPMR
  118. 46110 RETURN
  119. 46120 *VIL_VWCLOSEALL
  120. 46160 GOSUB *VIL_WCLALL
  121. 46165 RETURN
  122. 46175 *VIL_VWCLS
  123. 46210 LINE(0,0)-(VIL_WW-VIL_WX,VIL_WZ-VIL_WY),PSET,%VIL_VWCB,BF
  124. 46215 RETURN
  125. 46225 *VIL_VWMCHECK
  126. 46315 VIL_VWMR=0
  127. 46320 IF VIL_KN=-1 THEN
  128. 46325   GOSUB *VIL_VWMWIN
  129. 46330 ELSE IF VIL_KN=-2 AND VIL_KY=27 THEN
  130. 46335   VIL_WX=VIL_WW+(VIL_WW-582)*(VIL_WW>582)
  131. 46340   VIL_WY=VIL_WY-32+(VIL_WY- 46)*(VIL_WY< 46)                                                   +(VIL_WY-406)*(VIL_WY>406)
  132. 46350   GOSUB *VIL_VWMMENU
  133. 46355 ENDIF
  134. 46360 RETURN
  135. 46370 *VIL_VWMWIN
  136. 46430 VIL_VWMR=0
  137. 46435 IF (VIL_VWAT AND 2)=2 AND VIL_WX- 6<VIL_MX AND VIL_MX<VIL_WX+4                                     AND VIL_WY-12<VIL_MY AND VIL_MY<VIL_WY-2 THEN
  138. 46440   GOSUB *VIL_VWMCLOSE
  139. 46445 ELSE IF (VIL_VWAT AND  4)= 4 AND VIL_WX+4<VIL_MX AND VIL_MX<VIL_WX+14                AND VIL_WY-12<VIL_MY AND VIL_MY<VIL_WY-2 THEN
  140. 46450   GOSUB *VIL_VWMHIDE
  141. 46455 ELSE IF (VIL_VWAT AND  1)= 1 AND VIL_WW-14<VIL_MX AND VIL_MX<VIL_WW-4                AND VIL_WY-12<VIL_MY AND VIL_MY<VIL_WY-2 THEN
  142. 46460   VIL_WX=VIL_WW+(VIL_WW-582)*(VIL_WW>582)
  143. 46465   VIL_WY=VIL_WY-32+(VIL_WY- 46)*(VIL_WY< 46)                                                   +(VIL_WY-406)*(VIL_WY>406)
  144. 46475   GOSUB *VIL_VWMMENU
  145. 46480 ELSE IF (VIL_VWAT AND 16)=16 AND VIL_WW-4<VIL_MX AND VIL_MX<VIL_WW+6                 AND VIL_WY-12<VIL_MY AND VIL_MY<VIL_WY-2 THEN
  146. 46485   GOSUB *VIL_VWMRESIZE
  147. 46490 ELSE IF (VIL_VWAT AND  8)= 8 AND VIL_WX- 6<VIL_MX AND VIL_MX<VIL_WW+6                AND VIL_WY-12<VIL_MY AND VIL_MY<VIL_WY-2 THEN
  148. 46495   GOSUB *VIL_VWMMOVE
  149. 46500 ENDIF
  150. 46505 RETURN
  151. 46515 *VIL_VWMMENU
  152. 46585 GOSUB *VIL_WPMA
  153. 46590 LINE(VIL_WX(VIL_WAN)+16,VIL_WY(VIL_WAN)-11)                                     -(VIL_WW(VIL_WAN)-16,VIL_WY(VIL_WAN)- 4),XOR,%3,BF
  154. 46595 VIL_W1=VIL_VWAT
  155. 46600 VIL_WW=VIL_WX+49:VIL_WZ=VIL_WY+98
  156. 46605 VIL_VWT$="VWM":VIL_VWAT=0:VIL_VWN=0
  157. 46610 GOSUB *VIL_VWOPEN
  158. 46615 SYMBOL(5,  0),"<VWM>", 1,1,6
  159. 46620 SYMBOL(1, 20),"CLOSE", 1,1,%1-((VIL_W1 AND  2)= 2)*2
  160. 46625 SYMBOL(1, 36),"HIDE",  1,1,%1-((VIL_W1 AND  4)= 4)*2
  161. 46630 SYMBOL(1, 52),"MOVE",  1,1,%1-((VIL_W1 AND  8)= 8)*2
  162. 46635 SYMBOL(1, 68),"RESIZE",1,1,%1-((VIL_W1 AND 16)=16)*2
  163. 46640 SYMBOL(1, 84),"<INFO>",1,1,%3
  164. 46650 VIL_X=1:VIL_Y=20:VIL_W=VIL_X+47:VIL_Z=VIL_Y+14
  165. 46655 VIL_YL=16:VIL_XN=1:VIL_YN=5:VIL_BXDIR=0:VIL_BCE=0:VIL_C=15:VIL_MN=1
  166. 46660 GOSUB *VIL_MSEL
  167. 46665 IF VIL_KN=-1 OR (0<VIL_KN AND VIL_KN<5 AND (VIL_VWAT(VIL_WAN-1)                                       AND 2^VIL_KN)=0) THEN 46660
  168. 46670 GOSUB *VIL_VWCLOSE
  169. 46675 GOSUB *VIL_WPMA
  170. 46680 LINE(VIL_WX(VIL_WAN)+16,VIL_WY(VIL_WAN)-11)                                     -(VIL_WW(VIL_WAN)-16,VIL_WY(VIL_WAN)- 4),XOR,%3,BF
  171. 46685 GOSUB *VIL_WPMR
  172. 46690 IF VIL_KN<1 THEN RETURN
  173. 46700 ON VIL_KN GOTO 46710,46725,46740,46780,46820
  174. 46710 GOSUB *VIL_VWMCLOSE
  175. 46715 RETURN
  176. 46725 IF VIL_KY THEN GOSUB *VIL_VWMKHIDE ELSE GOSUB *VIL_VWMHIDE
  177. 46730 RETURN
  178. 46740 IF VIL_KY THEN
  179. 46745   GOSUB *VIL_VWMKMOVE
  180. 46750 ELSE
  181. 46755   VIL_MX=(VIL_WX+VIL_WW)\2:VIL_MY=VIL_WY-4:MOUSE 1,VIL_MX,VIL_MY
  182. 46760   GOSUB *VIL_VWMMOVE
  183. 46765 ENDIF
  184. 46770 RETURN
  185. 46780 IF VIL_KY THEN
  186. 46785   GOSUB *VIL_VWMKRESIZE
  187. 46790 ELSE
  188. 46795   VIL_MX=VIL_WW:VIL_MY=VIL_WY-6:MOUSE 1,VIL_MX,VIL_MY
  189. 46800   GOSUB *VIL_VWMRESIZE
  190. 46805 ENDIF
  191. 46810 RETURN
  192. 46820 VIL_WX=VIL_WX+(VIL_WX-448)*(VIL_WX>448)
  193. 46825 VIL_WY=VIL_WY+(VIL_WY-380)*(VIL_WY>380)
  194. 46830 GOSUB *VIL_VWMINF
  195. 46835 RETURN
  196. 46845 *VIL_VWMINF
  197. 46885 VIL_WW=VIL_WX+183:VIL_WZ=VIL_WY+91
  198. 46890 VIL_VWT$="VWM INFORMATION":VIL_VWAT=0:VIL_VWN=0
  199. 46895 VIL_E=0
  200. 46900 GOSUB *VIL_VWOPEN
  201. 46905 IF VIL_E=0 THEN
  202. 46910   VIL_W0$=FNVIL_P2S0$(VIL_WX(VIL_WAN-1),3)+","                                       +FNVIL_P2S0$(VIL_WY(VIL_WAN-1),3)+")"
  203. 46915   SYMBOL(8, 8),"POSITION:("+VIL_W0$,1,1,4
  204. 46920   VIL_W0$=FNVIL_P2S0$(VIL_WW(VIL_WAN-1)-VIL_WX(VIL_WAN-1)+1,3)+"×"                  +FNVIL_P2S0$(VIL_WZ(VIL_WAN-1)-VIL_WY(VIL_WAN-1)+1,3)
  205. 46925   SYMBOL(8,28),"SIZE    : "+VIL_W0$,1,1,4
  206. 46930   VIL_W0$=FNVIL_P2S0$(VIL_WAN-1,3)+"/"+FNVIL_P2S0$(VIL_WANMAX,3)
  207. 46935   SYMBOL(8,48),"WINDOW  : "+VIL_W0$,1,1,4
  208. 46940   VIL_W0$=FNVIL_P2S0$((VIL_WBUFMAX-VIL_WBUFO(VIL_WAN-1))\512,4)+"K/"                  +FNVIL_P2S0$(VIL_WBUFMAX\512,4)+"K"
  209. 46945   SYMBOL(8,68),"FREE    : "+VIL_W0$,1,1,4
  210. 46950   GOSUB *VIL_MVWAIT
  211. 46955   GOSUB *VIL_VWCLOSE
  212. 46960 ENDIF
  213. 46965 RETURN
  214. 46975 *VIL_VWMMOVE
  215. 47045 MOUSE 2,VIL_MCA1$,VIL_MCD1$,VIL_MCX1,VIL_MCY1
  216. 47050 MOUSE 1,VIL_MX,VIL_MY,1
  217. 47055 VIL_W0=VIL_WPM:GOSUB *VIL_WPMA
  218. 47060 VIL_WX=VIL_WX-8:VIL_WY=VIL_WY-14:VIL_WW=VIL_WW+8:VIL_WZ=VIL_WZ+8
  219. 47065 MOUSE 4,VIL_VWXM+VIL_MX-VIL_WX-8,VIL_VWYM+VIL_MY-VIL_WY-14,                          VIL_VWWM+VIL_MX-VIL_WW+8,VIL_VWZM+VIL_MY-VIL_WZ+8
  220. 47070 VIL_W1=0:VIL_W2=0:VIL_W3=0:VIL_W4=0
  221. 47075 VIL_WW=VIL_WW-VIL_WX:VIL_WZ=VIL_WZ-VIL_WY
  222. 47080 LINE(VIL_WX,VIL_WY)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  223. 47085 WHILE MOUSE(2,0)
  224. 47090   VIL_MX=MOUSE(9):VIL_MY=MOUSE(10)
  225. 47095   IF VIL_MX OR VIL_MY THEN
  226. 47100     LINE(VIL_WX+VIL_W3,VIL_WY+VIL_W4)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  227. 47105     VIL_W1=VIL_W1+VIL_MX:VIL_W2=VIL_W2+VIL_MY
  228. 47110     VIL_W3=VIL_W1-VIL_W1 MOD VIL_VWXD
  229. 47115     VIL_W4=VIL_W2-VIL_W2 MOD VIL_VWYD
  230. 47120     LINE(VIL_WX+VIL_W3,VIL_WY+VIL_W4)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  231. 47125   ENDIF
  232. 47130 WEND
  233. 47135 VIL_WX=VIL_WX+VIL_W3:VIL_WY=VIL_WY+VIL_W4
  234. 47140 LINE(VIL_WX,VIL_WY)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  235. 47150 IF MOUSE(2,1) THEN
  236. 47155   VIL_WX=VIL_WX(VIL_WAN):VIL_WY=VIL_WY(VIL_WAN)
  237. 47160   VIL_WW=VIL_WW(VIL_WAN):VIL_WZ=VIL_WZ(VIL_WAN)
  238. 47165 ELSE
  239. 47170   VIL_WX=VIL_WX+8:VIL_WY=VIL_WY+14
  240. 47180   GOSUB *VIL_VWMMV
  241. 47185 ENDIF
  242. 47190 MOUSE 2,VIL_MCA0$,VIL_MCD0$,VIL_MCX0,VIL_MCY0
  243. 47195 MOUSE 4,0,0,639,479
  244. 47200 IF VIL_W0 THEN GOSUB *VIL_WPMR
  245. 47205 RETURN
  246. 47215 *VIL_VWMKMOVE
  247. 47275 WHILE INKEY$<>"":WEND
  248. 47280 VIL_W0=VIL_WPM:GOSUB *VIL_WPMA
  249. 47285 VIL_WX=VIL_WX-8:VIL_WY=VIL_WY-14
  250. 47290 VIL_WW=VIL_WW-VIL_WX+8:VIL_WZ=VIL_WZ-VIL_WY+8
  251. 47295 LINE(VIL_WX,VIL_WY)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  252. 47300 VIL_KY=0
  253. 47305 WHILE VIL_KY<>13 AND VIL_KY<>24 AND VIL_KY<>48
  254. 47310   VIL_K$=INKEY$:IF VIL_K$="" THEN 47310
  255. 47315   LINE(VIL_WX,VIL_WY)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  256. 47320   VIL_KY=ASC(VIL_K$)
  257. 47325   VIL_WX=VIL_WX+((VIL_KY=29)-(VIL_KY=28))*VIL_VWXD
  258. 47330   VIL_WX=VIL_WX-((VIL_WX+8<VIL_VWXM)-(VIL_VWWM<VIL_WX+VIL_WW-8))                            *VIL_VWXD
  259. 47335   VIL_WX=VIL_WX+((VIL_KY=52 OR VIL_KY=22)-(VIL_KY=54 OR VIL_KY=23))                         *VIL_VWXD*8
  260. 47340   VIL_WX=VIL_WX-((VIL_WX+8<VIL_VWXM)-(VIL_VWWM<VIL_WX+VIL_WW-8))                            *VIL_VWXD*8
  261. 47350   VIL_WY=VIL_WY+((VIL_KY=30)-(VIL_KY=31))*VIL_VWYD
  262. 47355   VIL_WY=VIL_WY-((VIL_WY+14<VIL_VWYM)-(VIL_VWZM<VIL_WY+VIL_WZ-8))                           *VIL_VWYD
  263. 47360   VIL_WY=VIL_WY+((VIL_KY=56 OR VIL_KY=11)-(VIL_KY=50 OR VIL_KY=127))                        *VIL_VWYD*8
  264. 47365   VIL_WY=VIL_WY-((VIL_WY+14<VIL_VWYM)-(VIL_VWZM<VIL_WY+VIL_WZ-8))                             *VIL_VWYD*8
  265. 47370   LINE(VIL_WX,VIL_WY)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  266. 47375 WEND
  267. 47380 LINE(VIL_WX,VIL_WY)-STEP(VIL_WW,VIL_WZ),XOR,7,B
  268. 47390 IF VIL_KY=13 THEN
  269. 47395   VIL_WX=VIL_WX+8:VIL_WY=VIL_WY+14
  270. 47400   GOSUB *VIL_VWMMV
  271. 47405 ELSE
  272. 47410   VIL_WX=VIL_WX(VIL_WAN):VIL_WY=VIL_WY(VIL_WAN)
  273. 47415   VIL_WW=VIL_WW(VIL_WAN):VIL_WZ=VIL_WZ(VIL_WAN)
  274. 47420 ENDIF
  275. 47425 IF VIL_W0 THEN GOSUB *VIL_WPMR
  276. 47430 RETURN
  277. 47440 *VIL_VWMMV
  278. 47515 VIL_E=0
  279. 47520 GET@A(VIL_WX(VIL_WAN)-8,VIL_WY(VIL_WAN)-14)                                      -(VIL_WW(VIL_WAN)+8,VIL_WZ(VIL_WAN)+ 8)                                       ,VIL_WBUF%,VIL_WBUFO(VIL_WAN)
  280. 47525 IF VIL_E=0 THEN
  281. 47530   VIL_WW=VIL_WX+VIL_WW(VIL_WAN)-VIL_WX(VIL_WAN)
  282. 47535   VIL_WZ=VIL_WY+VIL_WZ(VIL_WAN)-VIL_WY(VIL_WAN)
  283. 47540   PUT@A(VIL_WX(VIL_WAN)-8,VIL_WY(VIL_WAN)-14)                                      -(VIL_WW(VIL_WAN)+8,VIL_WZ(VIL_WAN)+ 8)                                       ,VIL_WBUF%,,,,,VIL_WBUFO(VIL_WAN-1)
  284. 47545   GET@A(VIL_WX-8,VIL_WY-14)-(VIL_WW+8,VIL_WZ+8)                                     ,VIL_WBUF%,VIL_WBUFO(VIL_WAN-1)
  285. 47550   PUT@A(VIL_WX-8,VIL_WY-14)-(VIL_WW+8,VIL_WZ+8)                                     ,VIL_WBUF%,,,,,VIL_WBUFO(VIL_WAN)
  286. 47555   VIL_WX(VIL_WAN)=VIL_WX:VIL_WY(VIL_WAN)=VIL_WY
  287. 47560   VIL_WW(VIL_WAN)=VIL_WW:VIL_WZ(VIL_WAN)=VIL_WZ
  288. 47565   VIL_VWMR=8
  289. 47570 ELSE
  290. 47575   VIL_WX=VIL_WX(VIL_WAN):VIL_WY=VIL_WY(VIL_WAN)
  291. 47580   VIL_VWMR=0
  292. 47585 ENDIF
  293. 47590 RETURN
  294. 47600 *VIL_VWMCLOSE
  295. 47640 GOSUB *VIL_VWCLOSE
  296. 47645 VIL_VWMR=2
  297. 47650 RETURN
  298. 47660 *VIL_VWMHIDE
  299. 47715 VIL_W0=VIL_WPM:GOSUB *VIL_WPMA
  300. 47720 GOSUB *VIL_VWMHD0
  301. 47725 IF VIL_E=0 THEN
  302. 47730   WHILE MOUSE(2,0):WEND
  303. 47735   GOSUB *VIL_VWMHD1
  304. 47740   VIL_VWMR=4
  305. 47745 ELSE
  306. 47750   VIL_VWMR=0
  307. 47755 ENDIF
  308. 47760 IF VIL_W0 THEN GOSUB *VIL_WPMR
  309. 47765 RETURN
  310. 47775 *VIL_VWMKHIDE
  311. 47830 WHILE INKEY$<>"":WEND
  312. 47835 VIL_W0=VIL_WPM:GOSUB *VIL_WPMA
  313. 47840 GOSUB *VIL_VWMHD0
  314. 47845 IF VIL_E=0 THEN
  315. 47850   WHILE INKEY$="":WEND
  316. 47855   GOSUB *VIL_VWMHD1
  317. 47860   VIL_VWMR=4
  318. 47865 ENDIF
  319. 47870 IF VIL_W0 THEN GOSUB *VIL_WPMR
  320. 47875 RETURN
  321. 47885 *VIL_VWMHD0
  322. 47930 VIL_E=0
  323. 47935 GET@A(VIL_WX(VIL_WAN)-8,VIL_WY(VIL_WAN)-14)                                      -(VIL_WW(VIL_WAN)+8,VIL_WZ(VIL_WAN)+ 8)                                       ,VIL_WBUF%,VIL_WBUFO(VIL_WAN)
  324. 47940 IF VIL_E=0 THEN
  325. 47945   PUT@A(VIL_WX(VIL_WAN)-8,VIL_WY(VIL_WAN)-14)                                      -(VIL_WW(VIL_WAN)+8,VIL_WZ(VIL_WAN)+ 8)                                       ,VIL_WBUF%,,,,,VIL_WBUFO(VIL_WAN-1)
  326. 47950 ENDIF
  327. 47955 RETURN
  328. 47965 *VIL_VWMHD1
  329. 48005 PUT@A(VIL_WX(VIL_WAN)-8,VIL_WY(VIL_WAN)-14)                                      -(VIL_WW(VIL_WAN)+8,VIL_WZ(VIL_WAN)+ 8)                                       ,VIL_WBUF%,,,,,VIL_WBUFO(VIL_WAN)
  330. 48010 RETURN
  331. 48020 *VIL_VWMHD2
  332. 48060 GET@A(VIL_WX(VIL_WAN)-8,VIL_WY(VIL_WAN)-14)                                      -(VIL_WW(VIL_WAN)+8,VIL_WZ(VIL_WAN)+ 8)                                       ,VIL_WBUF%,VIL_WBUFO(VIL_WAN-1)
  333. 48065 PUT@A(VIL_WX(VIL_WAN)-8,VIL_WY(VIL_WAN)-14)                                      -(VIL_WW(VIL_WAN)+8,VIL_WZ(VIL_WAN)+ 8)                                       ,VIL_WBUF%,,,,,VIL_WBUFO(VIL_WAN)
  334. 48070 RETURN
  335. 48080 *VIL_VWMRESIZE
  336. 48160 MOUSE 2,VIL_MCA2$,VIL_MCD2$,VIL_MCX2,VIL_MCY2
  337. 48165 MOUSE 1,VIL_MX,VIL_MY,1
  338. 48170 VIL_W0=VIL_WPM:GOSUB *VIL_WPMA
  339. 48190 VIL_WX=VIL_WX-8:VIL_WY=VIL_WY-14:VIL_WW=VIL_WW+8:VIL_WZ=VIL_WZ+8
  340. 48195 VIL_W1=VIL_WW-VIL_VWWL-7-VIL_VWXM:VIL_W2=VIL_WZ-VIL_VWZL- 7-VIL_VWYM
  341. 48200 VIL_W3=VIL_WX+VIL_VWWL+7-VIL_VWWM:VIL_W4=VIL_WY+VIL_VWZL+13-VIL_VWZM
  342. 48220 MOUSE 4,VIL_VWXM-VIL_W1*(VIL_W1>0)-8,VIL_VWYM-VIL_W2*(VIL_W2>0)-14                  ,VIL_VWWM-VIL_W3*(VIL_W3<0)+8,VIL_VWZM-VIL_W4*(VIL_W4<0)+ 8
  343. 48230 VIL_W1=2:VIL_W2=1
  344. 48235 LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  345. 48240 WHILE MOUSE(2,0)
  346. 48245   IF MOUSE(9) OR MOUSE(10) THEN
  347. 48250     VIL_MX=MOUSE(0):VIL_MY=MOUSE(1)
  348. 48255     LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  349. 48260     IF VIL_MX<=VIL_WX(VIL_WAN)-8 THEN
  350. 48265       VIL_WX=VIL_MX+(VIL_WX-VIL_MX) MOD VIL_VWWD
  351. 48270       VIL_WW=VIL_WW(VIL_WAN)+8:VIL_W1=1
  352. 48275     ELSE IF VIL_MX>=VIL_WW(VIL_WAN)+8 THEN
  353. 48280       VIL_WW=VIL_MX-(VIL_MX-VIL_WW) MOD VIL_VWWD
  354. 48285       VIL_WX=VIL_WX(VIL_WAN)-8:VIL_W1=2
  355. 48290     ELSE
  356. 48295       IF VIL_W1=1 THEN
  357. 48300         VIL_W3=VIL_WW-VIL_VWXL-15-VIL_MX
  358. 48305         VIL_W3=VIL_MX-VIL_W3*(VIL_W3<0)
  359. 48310         VIL_WX=VIL_W3+(VIL_WX-VIL_W3) MOD VIL_VWWD
  360. 48315       ELSE
  361. 48320         VIL_W3=VIL_WX+VIL_VWXL+15-VIL_MX
  362. 48325         VIL_W3=VIL_MX-VIL_W3*(VIL_W3>0)
  363. 48330         VIL_WW=VIL_W3-(VIL_W3-VIL_WW) MOD VIL_VWWD
  364. 48335       ENDIF
  365. 48340     ENDIF
  366. 48350     IF VIL_MY<=VIL_WY(VIL_WAN)-14 THEN
  367. 48355       VIL_WY=VIL_MY+(VIL_WY-VIL_MY) MOD VIL_VWZD
  368. 48360       VIL_WZ=VIL_WZ(VIL_WAN)+8:VIL_W2=1
  369. 48365     ELSE IF VIL_MY>=VIL_WZ(VIL_WAN)+8 THEN
  370. 48370       VIL_WZ=VIL_MY-(VIL_MY-VIL_WZ) MOD VIL_VWZD
  371. 48375       VIL_WY=VIL_WY(VIL_WAN)-14:VIL_W2=2
  372. 48380     ELSE
  373. 48385       IF VIL_W2=1 THEN
  374. 48390         VIL_W3=VIL_WZ-VIL_VWYL-21-VIL_MY
  375. 48395         VIL_W3=VIL_MY-VIL_W3*(VIL_W3<0)
  376. 48400         VIL_WY=VIL_W3+(VIL_WY-VIL_W3) MOD VIL_VWZD
  377. 48405       ELSE
  378. 48410         VIL_W3=VIL_WY+VIL_VWYL+21-VIL_MY
  379. 48415         VIL_W3=VIL_MY-VIL_W3*(VIL_W3>0)
  380. 48420         VIL_WZ=VIL_W3-(VIL_W3-VIL_WZ) MOD VIL_VWZD
  381. 48425       ENDIF
  382. 48430     ENDIF
  383. 48435     LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  384. 48440   ENDIF
  385. 48445 WEND
  386. 48450 LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  387. 48455 IF MOUSE(2,1) THEN
  388. 48460   VIL_WX=VIL_WX(VIL_WAN):VIL_WY=VIL_WY(VIL_WAN)
  389. 48465   VIL_WW=VIL_WW(VIL_WAN):VIL_WZ=VIL_WZ(VIL_WAN)
  390. 48470 ELSE
  391. 48475   VIL_WX=VIL_WX+8:VIL_WY=VIL_WY+14:VIL_WW=VIL_WW-8:VIL_WZ=VIL_WZ-8
  392. 48480   GOSUB *VIL_VWMRS
  393. 48485 ENDIF
  394. 48490 MOUSE 2,VIL_MCA0$,VIL_MCD0$,VIL_MCX0,VIL_MCY0
  395. 48495 MOUSE 4,0,0,639,479
  396. 48500 IF VIL_W0 THEN GOSUB *VIL_WPMR
  397. 48505 RETURN
  398. 48515 *VIL_VWMKRESIZE
  399. 48595 WHILE INKEY$<>"":WEND
  400. 48600 VIL_W0=VIL_WPM:GOSUB *VIL_WPMA
  401. 48620 VIL_WX=VIL_WX-8:VIL_WY=VIL_WY-14:VIL_WW=VIL_WW+8:VIL_WZ=VIL_WZ+8
  402. 48625 VIL_W3=VIL_WW-VIL_VWWL-7-VIL_VWXM:VIL_W4=VIL_WZ-VIL_VWZL- 7-VIL_VWYM
  403. 48630 VIL_W5=VIL_WX+VIL_VWWL+7-VIL_VWWM:VIL_W6=VIL_WY+VIL_VWZL+13-VIL_VWZM
  404. 48635 VIL_W3=VIL_VWXM-VIL_W3*(VIL_W3>0)-8
  405. 48640 VIL_W4=VIL_VWYM-VIL_W4*(VIL_W4>0)-14
  406. 48645 VIL_W5=VIL_VWWM-VIL_W5*(VIL_W5<0)+8
  407. 48650 VIL_W6=VIL_VWZM-VIL_W6*(VIL_W6<0)+8
  408. 48670 VIL_W1=2:VIL_W2=1
  409. 48675 LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  410. 48680 VIL_KY=0
  411. 48685 WHILE VIL_KY<>13 AND VIL_KY<>24 AND VIL_KY<>48
  412. 48690   VIL_K$=INKEY$:IF VIL_K$="" THEN 48690
  413. 48695   LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  414. 48700   VIL_KY=ASC(VIL_K$)
  415. 48705   VIL_W7=((VIL_KY=29)-(VIL_KY=28))*VIL_VWWD                                         +((VIL_KY=52 OR VIL_KY=22)-(VIL_KY=54 OR VIL_KY=23))*VIL_VWWD*8
  416. 48715   IF VIL_W1=1 THEN
  417. 48720     VIL_WX=VIL_WX+VIL_W7
  418. 48725     IF VIL_WX<VIL_W3 THEN
  419. 48730       VIL_WW=VIL_W5-(VIL_W5-VIL_WW) MOD VIL_VWWD
  420. 48735       VIL_WX=VIL_WX(VIL_WAN)-8:VIL_W1=2
  421. 48740     ELSE IF VIL_WW-VIL_VWXL-15<VIL_WX THEN
  422. 48745       VIL_WX=VIL_WX(VIL_WAN)-8:VIL_W1=2
  423. 48750       VIL_WW=VIL_WX+VIL_VWXL+15                                                         +(VIL_WW-VIL_WX-VIL_VWXL-15) MOD VIL_VWWD
  424. 48755     ENDIF
  425. 48760   ELSE
  426. 48765     VIL_WW=VIL_WW+VIL_W7
  427. 48770     IF VIL_WW<VIL_WX+VIL_VWXL+15 THEN
  428. 48775       VIL_WW=VIL_WW(VIL_WAN)+8:VIL_W1=1
  429. 48780       VIL_WX=VIL_WW-VIL_VWXL-15                                                         +(VIL_WX-VIL_WW+VIL_VWXL+15) MOD VIL_VWWD
  430. 48785     ELSE IF VIL_W5<VIL_WW THEN
  431. 48790       VIL_WX=VIL_W3-(VIL_W3-VIL_WX) MOD VIL_VWWD
  432. 48795       VIL_WW=VIL_WW(VIL_WAN)+8:VIL_W1=1
  433. 48800     ENDIF
  434. 48805   ENDIF
  435. 48815   VIL_W7=((VIL_KY=30)-(VIL_KY=31))*VIL_VWZD                                        +((VIL_KY=56 OR VIL_KY=11)-(VIL_KY=50 OR VIL_KY=127))*VIL_VWZD*8
  436. 48825   IF VIL_W2=1 THEN
  437. 48830     VIL_WY=VIL_WY+VIL_W7
  438. 48835     IF VIL_WY<VIL_W4 THEN
  439. 48840       VIL_WZ=VIL_W6-(VIL_W6-VIL_WZ) MOD VIL_VWZD
  440. 48845       VIL_WY=VIL_WY(VIL_WAN)-14:VIL_W2=2
  441. 48850     ELSE IF VIL_WZ-VIL_VWYL-21<VIL_WY THEN
  442. 48855       VIL_WY=VIL_WY(VIL_WAN)-14:VIL_W2=2
  443. 48860       VIL_WZ=VIL_WY+VIL_VWYL+21                                                         +(VIL_WZ-VIL_WY-VIL_VWYL-21) MOD VIL_VWZD
  444. 48865     ENDIF
  445. 48870   ELSE
  446. 48875     VIL_WZ=VIL_WZ+VIL_W7
  447. 48880     IF VIL_WZ<VIL_WY+VIL_VWYL+21 THEN
  448. 48885       VIL_WZ=VIL_WZ(VIL_WAN)+8:VIL_W2=1
  449. 48890       VIL_WY=VIL_WZ-VIL_VWYL-21                                                         +(VIL_WY-VIL_WZ+VIL_VWYL+21) MOD VIL_VWZD
  450. 48895     ELSE IF VIL_W6<VIL_WZ THEN
  451. 48900       VIL_WY=VIL_W4-(VIL_W4-VIL_WY) MOD VIL_VWZD
  452. 48905       VIL_WZ=VIL_WZ(VIL_WAN)+8:VIL_W2=1
  453. 48910     ENDIF
  454. 48915   ENDIF
  455. 48920   LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  456. 48925 WEND
  457. 48935 LINE(VIL_WX,VIL_WY)-(VIL_WW,VIL_WZ),XOR,7,B
  458. 48940 IF VIL_KY=13 THEN
  459. 48945   VIL_WX=VIL_WX+8:VIL_WY=VIL_WY+14:VIL_WW=VIL_WW-8:VIL_WZ=VIL_WZ-8
  460. 48950   GOSUB *VIL_VWMRS
  461. 48955 ELSE
  462. 48960   VIL_WX=VIL_WX(VIL_WAN):VIL_WY=VIL_WY(VIL_WAN)
  463. 48965   VIL_WW=VIL_WW(VIL_WAN):VIL_WZ=VIL_WZ(VIL_WAN)
  464. 48970 ENDIF
  465. 48975 IF VIL_W0 THEN GOSUB *VIL_WPMR
  466. 48980 RETURN
  467. 48990 *VIL_VWMRS
  468. 49070 VIL_WBUFO(VIL_WAN+1)=VIL_WBUFO(VIL_WAN)                                                          +INT((INT((VIL_WW-VIL_WX+24)/8)                                                       *(VIL_WZ-VIL_WY+23)*4+1)/2)
  469. 49075 IF VIL_WBUFO(VIL_WAN+1)<VIL_WBUFO(VIL_WAN) THEN
  470. 49080   VIL_WBUFO(VIL_WAN+1)=VIL_WBUFO(VIL_WAN) 
  471. 49085 ENDIF
  472. 49090 VIL_E=0
  473. 49095 GET@A(VIL_WX(VIL_WAN),VIL_WY(VIL_WAN))                                           -(VIL_WW(VIL_WAN),VIL_WZ(VIL_WAN))                                            ,VIL_WBUF%,VIL_WBUFO(VIL_WAN+1)
  474. 49100 VIL_W1=VIL_WW(VIL_WAN)-VIL_WX(VIL_WAN)
  475. 49105 VIL_W2=VIL_WZ(VIL_WAN)-VIL_WY(VIL_WAN)
  476. 49110 IF VIL_E=0 THEN
  477. 49115   VIL_WX(VIL_WAN+1)=VIL_WX:VIL_WY(VIL_WAN+1)=VIL_WY
  478. 49120   VIL_WW(VIL_WAN+1)=VIL_WW:VIL_WZ(VIL_WAN+1)=VIL_WZ
  479. 49125   GOSUB *VIL_VWCLOSE
  480. 49135   VIL_WX=VIL_WX(VIL_WAN+2):VIL_WY=VIL_WY(VIL_WAN+2)
  481. 49140   VIL_WW=VIL_WW(VIL_WAN+2):VIL_WZ=VIL_WZ(VIL_WAN+2)
  482. 49145   VIL_VWAT=VIL_VWAT(VIL_WAN+1):VIL_VWT$=VIL_VWT$(VIL_WAN+1)
  483. 49150   GOSUB *VIL_VWOPEN
  484. 49155   GOSUB *VIL_WPMR
  485. 49160   PUT@A(0,0)-(VIL_W1,VIL_W2),VIL_WBUF%,,,,,VIL_WBUFO(VIL_WAN+1)
  486. 49170   GOSUB *VIL_WPMA
  487. 49175   VIL_VWMR=16
  488. 49180 ELSE
  489. 49185   VIL_WX=VIL_WX(VIL_WAN):VIL_WY=VIL_WY(VIL_WAN)
  490. 49190   VIL_WW=VIL_WW(VIL_WAN):VIL_WZ=VIL_WZ(VIL_WAN)
  491. 49195   VIL_VWMR=0
  492. 49200 ENDIF
  493. 49205 RETURN
  494. 49235 *VIL_SEL_INITM
  495. 49285 RETURN
  496. 49295 *VIL_SEL_OK
  497. 49420 SYMBOL(VIL_X+4,VIL_Y+4),"確認",1,1,7
  498. 49425 LINE(VIL_X+ 2,VIL_Y+2)-(VIL_X+ 37,VIL_Y+21),PSET,7,B
  499. 49430 VIL_W=VIL_X+39:VIL_Z=VIL_Y+23
  500. 49435 VIL_XN=1:VIL_YN=1:VIL_C=15:VIL_MN=0:VIL_BCE=0
  501. 49440 GOSUB *VIL_MSEL
  502. 49445 GOSUB *VIL_BC
  503. 49450 RETURN
  504. 49460 *VIL_SEL_YN
  505. 49610 SYMBOL(VIL_X+4,VIL_Y+4),"はい    いいえ",1,1,7
  506. 49615 LINE(VIL_X+ 2,VIL_Y+2)-(VIL_X+ 53,VIL_Y+21),PSET,7,B
  507. 49620 LINE(VIL_X+66,VIL_Y+2)-(VIL_X+117,VIL_Y+21),PSET,7,B
  508. 49625 VIL_W=VIL_X+55:VIL_Z=VIL_Y+23
  509. 49630 VIL_XL=64:VIL_XN=2:VIL_YN=1:VIL_C=15:VIL_BXDIR=0:VIL_MN=0:VIL_BCE=0
  510. 49635 GOSUB *VIL_MSEL
  511. 49640 GOSUB *VIL_BC
  512. 49645 IF VIL_KN=0 THEN VIL_KN=2
  513. 49650 RETURN
  514. 49660 *VIL_SEL_DO
  515. 49810 SYMBOL(VIL_X+4,VIL_Y+4),"実行  取消",1,1,7
  516. 49815 LINE(VIL_X+ 2,VIL_Y+2)-(VIL_X+37,VIL_Y+21),PSET,7,B
  517. 49820 LINE(VIL_X+50,VIL_Y+2)-(VIL_X+85,VIL_Y+21),PSET,7,B
  518. 49825 VIL_W=VIL_X+39:VIL_Z=VIL_Y+23
  519. 49830 VIL_XL=48:VIL_XN=2:VIL_YN=1:VIL_C=15:VIL_BXDIR=0:VIL_MN=0:VIL_BCE=0
  520. 49835 GOSUB *VIL_MSEL
  521. 49840 GOSUB *VIL_BC
  522. 49845 IF VIL_KN=0 THEN VIL_KN=2
  523. 49850 RETURN
  524.